package org.truenewx.tnxjee.core.spec;

/**
 * 可改动性
 *
 * @author jianglei
 */
public enum Mutability {

    /**
     * 完全冻结，不可改动
     */
    NONE,

    /**
     * 可改动基础信息
     */
    BASIC,

    /**
     * 可追加子级
     */
    APPENDABLE,

    /**
     * 可禁用，不可删除
     */
    DISABLE,

    /**
     * 所有均可改动，包括删除
     */
    ALL;

    public boolean isBasic() {
        return ordinal() >= BASIC.ordinal();
    }

    public boolean isAppendable() {
        return ordinal() >= APPENDABLE.ordinal();
    }

    public boolean isDisable() {
        return ordinal() >= DISABLE.ordinal();
    }

    public boolean isAll() {
        return ordinal() >= ALL.ordinal();
    }

}
